Подготовка моделей и получение связанных записей "сквозь" Pivot таблицу. В премере мы получаем связанные темы статьи указывая по ее id.
В примере модели хранятся в папке AppModels.
Таблица articles
id int(11)
name varchar(255)
Таблица themes
id int(11)
name varchar(255)
Таблица theme_article
id int(11)
article_id int(11)
theme_id int(11)
namespace AppModels;
use IlluminateDatabaseEloquentModel;
class Article extends Model
{
public function themes()
{
return $this->belongsToMany('AppModelsTheme', 'theme_article', 'article_id', 'theme_id');
}
}
Модель Theme
namespace AppModels;
use IlluminateDatabaseEloquentModel;
class Theme extends Model
{
public function articles()
{
return $this->belongsToMany('AppModelsArticle', 'theme_article', 'theme_id', 'article_id');
}
}
Получение тем текущей статьи:
$themes = Article::find($articleIid)->themes()->get();
Добавление множественных связей с темами для статьи:
$article->themes()->attach($themeId, ['theme_id' => $themeId]);
← Назад